package ecitys.commons

import java.sql.Blob;
import ecitys.gcs.PorteDaEmpresa
import ecitys.cgp.CgpConfiguracao
import ecitys.gcs.GcsConfiguracao
import ecitys.gmt.GmtConfiguracao
import ecitys.gtm.GtmConfiguracao
import ecitys.commons.Uf
import ecitys.commons.Municipio

class Entidade {
	String cnpjEntidade
	String nomeEntidade
	String razaoSocial
	int quantidadeProprietarios
	String cpfProprietario
	String enderecoEntidade
	String numeroLogradouro
	String bairroEntidade
	String cepEntidade
	Uf uf
	Municipio municipio
	String enderecoSite
	String enderecoEmail
	Blob logoMarca
	PorteDaEmpresa porteDaEmpresa
	CgpConfiguracao configuracaoCgp
	GcsConfiguracao configuracaoGcs
	GmtConfiguracao configuracaoGmt
	GtmConfiguracao configuracaoGtm

    static constraints = {
		cnpjEntidade(maxSize:14, blank:false, unique:true, nullable:false)
		nomeEntidade(maxSize:50, blank:false, unique:true, nullable:true)
		enderecoEntidade(maxSize:50, blank:false, nullable:false)
		numeroLogradouro(maxSize:5, blank:false, nullable:false)
		bairroEntidade(maxSize:30, blank:false, nullable:false)
		cepEntidade(maxSize:8, blank:false, nullable:false)
		uf(blank:false, nullable:false)
		municipio(blank:false, nullable:false)
		enderecoSite(url:true, nullable:true)
		enderecoEmail(email:true, blank:true, nullable:true)
		razaoSocial(maxSize:50, blank:false, unique:true, nullable:false)
		quantidadeProprietarios(min:1, blank:false, nullable:false)
		cpfProprietario(maxSize:11, blank:false, unique:true, nullable:false)
	
    }
	static mapping = {
		schema:"public"
	}
}
